InternalError

非標準: この機能は標準化されていません。非標準の機能はブラウザーの対応が限られ、将来的に変更または削除される可能性があるため、本番環境での使用は推奨されません。ただし、標準の選択肢が存在しない特定のケースでは、有効な代替手段となる場合があります。

InternalError オブジェクト は、 JavaScript エンジンで内部的に発生したエラーを示します。

これは、以下のように何かが大きすぎる時に発生します。

  • "switch case が多すぎる"、
  • "正規表現内の括弧が多すぎる"、
  • "配列の初期化子が大きすぎる"、
  • "再帰が深すぎる"。

コンストラクター

InternalError()

新しい InternalError オブジェクトを生成します。

インスタンスプロパティ

InternalError.prototype.message

エラーメッセージです。 Error.prototype.message から継承しています。

InternalError.prototype.name

エラー名です。 Error から継承しています。

InternalError.prototype.fileName

このエラーが発生したファイルのパスです。 Error から継承しています。

InternalError.prototype.lineNumber

このエラーが発生したファイル内の行番号です。 Error から継承しています。

InternalError.prototype.columnNumber

このエラーが発生した行内の桁番号です。 Error から継承しています。

InternalError.prototype.stack

スタックトレースです。 Error から継承しています。

深すぎる再帰

この再帰関数は終了条件によって、10 回実行されます。

js
function loop(x) {
  if (x >= 10) {
    // "x >= 10" is the exit condition
    return;
  }
  // do stuff
  loop(x + 1); // the recursive call
}
loop(0);

この条件を非常に大きな値に設定した場合、動作しなくなります。

js
function loop(x) {
  if (x >= 1000000000000) return;
  // do stuff
  loop(x + 1);
}
loop(0);

// InternalError: too much recursion

詳しくは、 InternalError: too much recursion. を参照してください。

仕様書

仕様の一部ではありません。

ブラウザーの互換性

関連情報